{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "time-integration.ipynb",
      "provenance": [],
      "collapsed_sections": [
        "2iJfw6LssUtV"
      ]
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "q-mfxSBFN9Ur",
        "colab_type": "text"
      },
      "source": [
        "# Train a model for time-integration\n",
        "\n",
        "This notebook shows an example of training a simple model (and model evaluation) for time-integration with Burgers' equation.\n",
        "\n",
        "We trained many more models in our paper, but hopefully this gives an idea of what this is like."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2iJfw6LssUtV",
        "colab_type": "text"
      },
      "source": [
        "### Copyright 2019 Google LLC"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "s8ogRhxsslb-",
        "colab_type": "text"
      },
      "source": [
        "Licensed under the Apache License, Version 2.0 (the \"License\");\n",
        "you may not use this file except in compliance with the License.\n",
        "You may obtain a copy of the License at\n",
        "\n",
        "    https://www.apache.org/licenses/LICENSE-2.0\n",
        "\n",
        "Unless required by applicable law or agreed to in writing, software\n",
        "distributed under the License is distributed on an \"AS IS\" BASIS,\n",
        "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n",
        "See the License for the specific language governing permissions and\n",
        "limitations under the License."
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "bnFv_kvT-xCr",
        "colab_type": "text"
      },
      "source": [
        "## Setup environment"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ks-XlPLvrhd6",
        "colab_type": "code",
        "outputId": "13402604-ae33-439a-8813-6919ebc76420",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 462
        }
      },
      "source": [
        "! pip install -q -U xarray matplotlib\n",
        "! rm -rf data-driven-discretization-1d\n",
        "! git clone https://github.com/google/data-driven-discretization-1d.git\n",
        "! pip install -q -e data-driven-discretization-1d\n",
        "# install the seaborn bug-fix from https://github.com/mwaskom/seaborn/pull/1602\n",
        "! pip install -U -q git+git://github.com/stfnrpplngr/seaborn.git@309a9de383fac4db1c66dbf87815c4ba0c439c59\n"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "\u001b[?25l\r\u001b[K     |▌                               | 10kB 32.5MB/s eta 0:00:01\r\u001b[K     |█                               | 20kB 2.1MB/s eta 0:00:01\r\u001b[K     |█▌                              | 30kB 3.1MB/s eta 0:00:01\r\u001b[K     |██                              | 40kB 2.0MB/s eta 0:00:01\r\u001b[K     |██▋                             | 51kB 2.5MB/s eta 0:00:01\r\u001b[K     |███                             | 61kB 3.0MB/s eta 0:00:01\r\u001b[K     |███▋                            | 71kB 3.5MB/s eta 0:00:01\r\u001b[K     |████▏                           | 81kB 3.9MB/s eta 0:00:01\r\u001b[K     |████▋                           | 92kB 4.4MB/s eta 0:00:01\r\u001b[K     |█████▏                          | 102kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████▊                          | 112kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████▏                         | 122kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████▊                         | 133kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████▎                        | 143kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████▊                        | 153kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████▎                       | 163kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████▉                       | 174kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████▎                      | 184kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████▉                      | 194kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████▍                     | 204kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████▉                     | 215kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████▍                    | 225kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████▉                    | 235kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████████▍                   | 245kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████████                   | 256kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████████▍                  | 266kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████████                  | 276kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████████▌                 | 286kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████████                 | 296kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████████▌                | 307kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████████████                | 317kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████████████▌               | 327kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████████████               | 337kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████████████▋              | 348kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████████████              | 358kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████████████▋             | 368kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████████████▏            | 378kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████████████▋            | 389kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████████████████▏           | 399kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████████████████▊           | 409kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████████████████▏          | 419kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████████████████▊          | 430kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████████████████▏         | 440kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████████████████▊         | 450kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████████████████▎        | 460kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████████████████▊        | 471kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████████████████████▎       | 481kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████████████████████▉       | 491kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████████████████████▎      | 501kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████████████████████▉      | 512kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████████████████████▍     | 522kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████████████████████▉     | 532kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████████████████████▍    | 542kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████████████████████████    | 552kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████████████████████████▍   | 563kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████████████████████████   | 573kB 3.3MB/s eta 0:00:01\r\u001b[K     |█████████████████████████████▌  | 583kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████████████████████████  | 593kB 3.3MB/s eta 0:00:01\r\u001b[K     |██████████████████████████████▌ | 604kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████████████████████████ | 614kB 3.3MB/s eta 0:00:01\r\u001b[K     |███████████████████████████████▌| 624kB 3.3MB/s eta 0:00:01\r\u001b[K     |████████████████████████████████| 634kB 3.3MB/s \n",
            "\u001b[?25hCloning into 'data-driven-discretization-1d'...\n",
            "remote: Enumerating objects: 4, done.\u001b[K\n",
            "remote: Counting objects: 100% (4/4), done.\u001b[K\n",
            "remote: Compressing objects: 100% (4/4), done.\u001b[K\n",
            "remote: Total 342 (delta 0), reused 2 (delta 0), pack-reused 338\u001b[K\n",
            "Receiving objects: 100% (342/342), 147.61 KiB | 2.95 MiB/s, done.\n",
            "Resolving deltas: 100% (248/248), done.\n",
            "\u001b[K     |████████████████████████████████| 3.0MB 3.3MB/s \n",
            "\u001b[K     |████████████████████████████████| 235kB 58.5MB/s \n",
            "\u001b[K     |████████████████████████████████| 51kB 9.2MB/s \n",
            "\u001b[K     |████████████████████████████████| 61kB 9.4MB/s \n",
            "\u001b[K     |████████████████████████████████| 81kB 12.3MB/s \n",
            "\u001b[K     |████████████████████████████████| 153kB 60.9MB/s \n",
            "\u001b[K     |████████████████████████████████| 1.2MB 54.2MB/s \n",
            "\u001b[K     |████████████████████████████████| 112kB 40.4MB/s \n",
            "\u001b[?25h  Building wheel for avro-python3 (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
            "  Building wheel for hdfs (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
            "  Building wheel for oauth2client (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
            "  Building wheel for dill (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
            "\u001b[31mERROR: pydrive 1.3.1 has requirement oauth2client>=4.0.0, but you'll have oauth2client 3.0.0 which is incompatible.\u001b[0m\n",
            "\u001b[31mERROR: multiprocess 0.70.9 has requirement dill>=0.3.1, but you'll have dill 0.3.0 which is incompatible.\u001b[0m\n",
            "\u001b[31mERROR: botocore 1.13.27 has requirement python-dateutil<2.8.1,>=2.1; python_version >= \"2.7\", but you'll have python-dateutil 2.8.1 which is incompatible.\u001b[0m\n",
            "\u001b[31mERROR: albumentations 0.1.12 has requirement imgaug<0.2.7,>=0.2.5, but you'll have imgaug 0.2.9 which is incompatible.\u001b[0m\n",
            "  Building wheel for seaborn (setup.py) ... \u001b[?25l\u001b[?25hdone\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "VQ1cOIS5rvC5",
        "colab_type": "code",
        "outputId": "def90511-2cd8-4070-9ea9-30580d36b493",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 309
        }
      },
      "source": [
        "# Ensure we're using Tensorflow 1.x in Colab. If not using Colab, remove this magic.\n",
        "%tensorflow_version 1.x\n",
        "import tensorflow as tf\n",
        "assert tf.__version__[:2] == '1.'"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:\n",
            "The TensorFlow contrib module will not be included in TensorFlow 2.0.\n",
            "For more information, please see:\n",
            "  * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md\n",
            "  * https://github.com/tensorflow/addons\n",
            "  * https://github.com/tensorflow/io (for I/O related ops)\n",
            "If you depend on functionality not listed there, please file an issue.\n",
            "\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/model.py:422: The name tf.AUTO_REUSE is deprecated. Please use tf.compat.v1.AUTO_REUSE instead.\n",
            "\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:305: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.\n",
            "\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:510: The name tf.train.SessionRunHook is deprecated. Please use tf.estimator.SessionRunHook instead.\n",
            "\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:528: The name tf.summary.FileWriter is deprecated. Please use tf.compat.v1.summary.FileWriter instead.\n",
            "\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "UhdNTzSMVdeN",
        "colab_type": "text"
      },
      "source": [
        "## Run training\n",
        "\n",
        "To help ensure this example runs quickly, we train for only 100000 steps, even though in our paper we used 40000 steps."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8txZ0dwsININ",
        "colab_type": "code",
        "outputId": "10044b6e-a93e-4f6f-8fb2-2267166c5cd9",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 68
        }
      },
      "source": [
        "! gsutil cp gs://data-driven-discretization-public/training-data/burgers.h5 ."
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Copying gs://data-driven-discretization-public/training-data/burgers.h5...\n",
            "/ [1 files][ 39.1 MiB/ 39.1 MiB]                                                \n",
            "Operation completed over 1 objects/39.1 MiB.                                     \n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "1EoihKzuT2fC",
        "colab_type": "code",
        "outputId": "89acca90-fed1-494b-fac2-ed9d5130e3c1",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "source": [
        "%%time\n",
        "! python data-driven-discretization-1d/pde_superresolution/scripts/run_training.py \\\n",
        "--checkpoint_dir burgers-checkpoints \\\n",
        "--equation burgers \\\n",
        "--hparams resample_factor=16,learning_stops=[5000,10000] \\\n",
        "--input_path burgers.h5"
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/absl/flags/_validators.py:359: UserWarning: Flag --checkpoint_dir has a non-None default value; therefore, mark_flag_as_required will pass even if flag is not specified in the command line!\n",
            "  'command line!' % flag_name)\n",
            "I1203 23:45:04.894261 140321653876608 run_training.py:61] Loading training data\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/utils.py:47: The name tf.gfile.Copy is deprecated. Please use tf.io.gfile.copy instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:04.896073 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/utils.py:47: The name tf.gfile.Copy is deprecated. Please use tf.io.gfile.copy instead.\n",
            "\n",
            "I1203 23:45:04.977255 140321653876608 run_training.py:66] Inputs have shape (10000, 512)\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/scripts/run_training.py:69: The name tf.gfile.MakeDirs is deprecated. Please use tf.io.gfile.makedirs instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:04.980407 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/scripts/run_training.py:69: The name tf.gfile.MakeDirs is deprecated. Please use tf.io.gfile.makedirs instead.\n",
            "\n",
            "I1203 23:45:04.982903 140321653876608 run_training.py:75] Starting training loop\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/duckarray.py:94: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use tf.where in 2.0, which has the same broadcast rule as np.where\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:10.928888 140321653876608 deprecation.py:323] From /content/data-driven-discretization-1d/pde_superresolution/duckarray.py:94: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use tf.where in 2.0, which has the same broadcast rule as np.where\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/model.py:396: unbatch (from tensorflow.python.data.experimental.ops.batching) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `tf.data.Dataset.unbatch()`.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:11.609592 140321653876608 deprecation.py:323] From /content/data-driven-discretization-1d/pde_superresolution/model.py:396: unbatch (from tensorflow.python.data.experimental.ops.batching) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `tf.data.Dataset.unbatch()`.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:349: DatasetV1.make_one_shot_iterator (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `for ... in dataset:` to iterate over a dataset. If using `tf.estimator`, return the `Dataset` object directly from your input function. As a last resort, you can use `tf.compat.v1.data.make_one_shot_iterator(dataset)`.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:11.634932 140321653876608 deprecation.py:323] From /content/data-driven-discretization-1d/pde_superresolution/training.py:349: DatasetV1.make_one_shot_iterator (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `for ... in dataset:` to iterate over a dataset. If using `tf.estimator`, return the `Dataset` object directly from your input function. As a last resort, you can use `tf.compat.v1.data.make_one_shot_iterator(dataset)`.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:353: The name tf.local_variables_initializer is deprecated. Please use tf.compat.v1.local_variables_initializer instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:11.951882 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:353: The name tf.local_variables_initializer is deprecated. Please use tf.compat.v1.local_variables_initializer instead.\n",
            "\n",
            "I1203 23:45:42.533940 140321653876608 training.py:414] baseline_error: [[  0.60345622   8.21094341   0.85900945]\n",
            " [288.06875612  93.86809145 224.03838766]]\n",
            "I1203 23:45:42.536137 140321653876608 training.py:588] Training with hyperparameters:\n",
            "HParams([('absolute_error_weight', 1.0), ('base_batch_size', 128), ('coefficient_grid_min_size', 6), ('conservative', True), ('ensure_unbiased_coefficients', False), ('equation', 'burgers'), ('equation_kwargs', '{\"k_min\": 3, \"num_points\": 512, \"eta\": 0.01, \"k_max\": 6}'), ('error_floor', [0.00039408463635481894, 0.00448509119451046, 0.00017447709251428028]), ('error_floor_quantile', 0.1), ('error_max', 0.0), ('error_scale', [1.6571210525761082, 0.12178868499243486, 1.1641315429048973, 0.0034713934737676537, 0.010653247387755959, 0.004463520785097974]), ('eval_interval', 250), ('filter_size', 32), ('frac_training', 0.8), ('ground_truth_order', -1), ('integrated_solution_weight', 0.0), ('kernel_size', 5), ('learning_rates', [0.001, 0.0001]), ('learning_stops', [5000, 10000]), ('model_target', 'coefficients'), ('noise_amplitude', 0.0), ('noise_probability', 0.0), ('noise_type', 'white'), ('nonlinearity', 'relu'), ('num_layers', 3), ('num_time_steps', 0), ('numerical_flux', False), ('polynomial_accuracy_order', 1), ('polynomial_accuracy_scale', 1.0), ('relative_error_weight', 0.0), ('resample_factor', 16), ('space_derivatives_weight', 0.0), ('time_derivative_weight', 1.0)])\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:591: The name tf.gfile.GFile is deprecated. Please use tf.io.gfile.GFile instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:42.540976 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:591: The name tf.gfile.GFile is deprecated. Please use tf.io.gfile.GFile instead.\n",
            "\n",
            "I1203 23:45:42.545437 140321653876608 training.py:594] Setting up training\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/model.py:403: shuffle_and_repeat (from tensorflow.contrib.data.python.ops.shuffle_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `tf.data.experimental.shuffle_and_repeat(...)`.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.009394 140321653876608 deprecation.py:323] From /content/data-driven-discretization-1d/pde_superresolution/model.py:403: shuffle_and_repeat (from tensorflow.contrib.data.python.ops.shuffle_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `tf.data.experimental.shuffle_and_repeat(...)`.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/contrib/data/python/ops/shuffle_ops.py:54: shuffle_and_repeat (from tensorflow.python.data.experimental.ops.shuffle_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `tf.data.Dataset.shuffle(buffer_size, seed)` followed by `tf.data.Dataset.repeat(count)`. Static tf.data optimizations will take care of using the fused implementation.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.011180 140321653876608 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/tensorflow_core/contrib/data/python/ops/shuffle_ops.py:54: shuffle_and_repeat (from tensorflow.python.data.experimental.ops.shuffle_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `tf.data.Dataset.shuffle(buffer_size, seed)` followed by `tf.data.Dataset.repeat(count)`. Static tf.data optimizations will take care of using the fused implementation.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/model.py:442: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.168518 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/model.py:442: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.\n",
            "\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/layers.py:135: conv1d (from tensorflow.python.layers.convolutional) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `tf.keras.layers.Conv1D` instead.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.184805 140321653876608 deprecation.py:323] From /content/data-driven-discretization-1d/pde_superresolution/layers.py:135: conv1d (from tensorflow.python.layers.convolutional) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `tf.keras.layers.Conv1D` instead.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/layers/convolutional.py:218: Layer.apply (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Please use `layer.__call__` method instead.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.194310 140321653876608 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/layers/convolutional.py:218: Layer.apply (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Please use `layer.__call__` method instead.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/model.py:532: calling extract_image_patches (from tensorflow.python.ops.array_ops) with ksizes is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "ksizes is deprecated, use sizes instead\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.324556 140321653876608 deprecation.py:506] From /content/data-driven-discretization-1d/pde_superresolution/model.py:532: calling extract_image_patches (from tensorflow.python.ops.array_ops) with ksizes is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "ksizes is deprecated, use sizes instead\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:203: The name tf.train.get_or_create_global_step is deprecated. Please use tf.compat.v1.train.get_or_create_global_step instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.382651 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:203: The name tf.train.get_or_create_global_step is deprecated. Please use tf.compat.v1.train.get_or_create_global_step instead.\n",
            "\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:206: The name tf.train.piecewise_constant is deprecated. Please use tf.compat.v1.train.piecewise_constant instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.389847 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:206: The name tf.train.piecewise_constant is deprecated. Please use tf.compat.v1.train.piecewise_constant instead.\n",
            "\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:212: The name tf.train.AdamOptimizer is deprecated. Please use tf.compat.v1.train.AdamOptimizer instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.420139 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:212: The name tf.train.AdamOptimizer is deprecated. Please use tf.compat.v1.train.AdamOptimizer instead.\n",
            "\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:214: The name tf.get_collection is deprecated. Please use tf.compat.v1.get_collection instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.421527 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:214: The name tf.get_collection is deprecated. Please use tf.compat.v1.get_collection instead.\n",
            "\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:214: The name tf.GraphKeys is deprecated. Please use tf.compat.v1.GraphKeys instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:43.423277 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:214: The name tf.GraphKeys is deprecated. Please use tf.compat.v1.GraphKeys instead.\n",
            "\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:274: DatasetV1.make_initializable_iterator (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `for ... in dataset:` to iterate over a dataset. If using `tf.estimator`, return the `Dataset` object directly from your input function. As a last resort, you can use `tf.compat.v1.data.make_initializable_iterator(dataset)`.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:44.292121 140321653876608 deprecation.py:323] From /content/data-driven-discretization-1d/pde_superresolution/training.py:274: DatasetV1.make_initializable_iterator (from tensorflow.python.data.ops.dataset_ops) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `for ... in dataset:` to iterate over a dataset. If using `tf.estimator`, return the `Dataset` object directly from your input function. As a last resort, you can use `tf.compat.v1.data.make_initializable_iterator(dataset)`.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:290: The name tf.metrics.mean is deprecated. Please use tf.compat.v1.metrics.mean instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:44.619048 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:290: The name tf.metrics.mean is deprecated. Please use tf.compat.v1.metrics.mean instead.\n",
            "\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:601: The name tf.trainable_variables is deprecated. Please use tf.compat.v1.trainable_variables instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:45.375782 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:601: The name tf.trainable_variables is deprecated. Please use tf.compat.v1.trainable_variables instead.\n",
            "\n",
            "I1203 23:45:45.379871 140321653876608 training.py:601] Variables: <tf.Variable 'predict_coefficients/conv1d/kernel:0' shape=(5, 1, 32) dtype=float32_ref>\n",
            "<tf.Variable 'predict_coefficients/conv1d/bias:0' shape=(32,) dtype=float32_ref>\n",
            "<tf.Variable 'predict_coefficients/conv1d_1/kernel:0' shape=(5, 32, 32) dtype=float32_ref>\n",
            "<tf.Variable 'predict_coefficients/conv1d_1/bias:0' shape=(32,) dtype=float32_ref>\n",
            "<tf.Variable 'predict_coefficients/conv1d_2/kernel:0' shape=(5, 32, 9) dtype=float32_ref>\n",
            "<tf.Variable 'predict_coefficients/conv1d_2/bias:0' shape=(9,) dtype=float32_ref>\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:606: The name tf.train.MonitoredTrainingSession is deprecated. Please use tf.compat.v1.train.MonitoredTrainingSession instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:45.383056 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:606: The name tf.train.MonitoredTrainingSession is deprecated. Please use tf.compat.v1.train.MonitoredTrainingSession instead.\n",
            "\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:Create CheckpointSaverHook.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:45:45.386346 140321653876608 basic_session_run_hooks.py:541] Create CheckpointSaverHook.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/training/training_util.py:236: Variable.initialized_value (from tensorflow.python.ops.variables) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use Variable.read_value. Variables in 2.X are initialized automatically both in eager and graph (inside tf.defun) contexts.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:46.124861 140321653876608 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/training/training_util.py:236: Variable.initialized_value (from tensorflow.python.ops.variables) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use Variable.read_value. Variables in 2.X are initialized automatically both in eager and graph (inside tf.defun) contexts.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:517: The name tf.train.Saver is deprecated. Please use tf.compat.v1.train.Saver instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:45:46.140482 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:517: The name tf.train.Saver is deprecated. Please use tf.compat.v1.train.Saver instead.\n",
            "\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:Graph was finalized.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:45:46.291293 140321653876608 monitored_session.py:240] Graph was finalized.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:Running local_init_op.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:45:46.435282 140321653876608 session_manager.py:500] Running local_init_op.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:Done running local_init_op.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:45:46.465731 140321653876608 session_manager.py:502] Done running local_init_op.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:Saving checkpoints for 0 into burgers-checkpoints/model.ckpt.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:45:55.916505 140321653876608 basic_session_run_hooks.py:606] Saving checkpoints for 0 into burgers-checkpoints/model.ckpt.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:It seems that global step (tf.train.get_global_step) has not been increased. Current value (could be stable): 0 vs previous value: 0. You could increase the global step by passing tf.train.get_global_step() to Optimizer.apply_gradients or Optimizer.minimize.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:46:05.249061 140321653876608 basic_session_run_hooks.py:724] It seems that global step (tf.train.get_global_step) has not been increased. Current value (could be stable): 0 vs previous value: 0. You could increase the global step by passing tf.train.get_global_step() to Optimizer.apply_gradients or Optimizer.minimize.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 3.19493\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:46:29.933029 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 3.19493\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.8766\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:46:32.379339 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.8766\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:It seems that global step (tf.train.get_global_step) has not been increased. Current value (could be stable): 250 vs previous value: 250. You could increase the global step by passing tf.train.get_global_step() to Optimizer.apply_gradients or Optimizer.minimize.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:46:35.032467 140321653876608 basic_session_run_hooks.py:724] It seems that global step (tf.train.get_global_step) has not been increased. Current value (could be stable): 250 vs previous value: 250. You could increase the global step by passing tf.train.get_global_step() to Optimizer.apply_gradients or Optimizer.minimize.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:It seems that global step (tf.train.get_global_step) has not been increased. Current value (could be stable): 250 vs previous value: 250. You could increase the global step by passing tf.train.get_global_step() to Optimizer.apply_gradients or Optimizer.minimize.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:46:36.175446 140321653876608 basic_session_run_hooks.py:724] It seems that global step (tf.train.get_global_step) has not been increased. Current value (could be stable): 250 vs previous value: 250. You could increase the global step by passing tf.train.get_global_step() to Optimizer.apply_gradients or Optimizer.minimize.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:It seems that global step (tf.train.get_global_step) has not been increased. Current value (could be stable): 250 vs previous value: 250. You could increase the global step by passing tf.train.get_global_step() to Optimizer.apply_gradients or Optimizer.minimize.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:46:37.204634 140321653876608 basic_session_run_hooks.py:724] It seems that global step (tf.train.get_global_step) has not been increased. Current value (could be stable): 250 vs previous value: 250. You could increase the global step by passing tf.train.get_global_step() to Optimizer.apply_gradients or Optimizer.minimize.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:It seems that global step (tf.train.get_global_step) has not been increased. Current value (could be stable): 250 vs previous value: 250. You could increase the global step by passing tf.train.get_global_step() to Optimizer.apply_gradients or Optimizer.minimize.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:46:38.361568 140321653876608 basic_session_run_hooks.py:724] It seems that global step (tf.train.get_global_step) has not been increased. Current value (could be stable): 250 vs previous value: 250. You could increase the global step by passing tf.train.get_global_step() to Optimizer.apply_gradients or Optimizer.minimize.\n",
            "I1203 23:46:40.147816 140321653876608 training.py:632] loss: 0.0142702, abs_error: u=1.0185/u_t=0.2112/u_x=3.8437, rel_error: u=0.9945/u_t=0.3596/u_x=3.5060, below_baseline: u=0.4917/u_t=0.7405/u_x=0.1433\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:531: The name tf.Summary is deprecated. Please use tf.compat.v1.Summary instead.\n",
            "\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "W1203 23:46:40.149385 140321653876608 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:531: The name tf.Summary is deprecated. Please use tf.compat.v1.Summary instead.\n",
            "\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 11.0273\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:46:41.447734 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 11.0273\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.7021\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:46:43.966491 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.7021\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 38.4677\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:46:46.566096 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 38.4677\n",
            "I1203 23:46:52.005413 140321653876608 training.py:632] loss: 0.0076599, abs_error: u=1.0361/u_t=0.1461/u_x=3.4906, rel_error: u=1.0151/u_t=0.2444/u_x=2.1905, below_baseline: u=0.4752/u_t=0.8190/u_x=0.2506\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.6144\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:46:54.493491 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.6144\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.3646\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:46:57.033842 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.3646\n",
            "I1203 23:47:03.815283 140321653876608 training.py:632] loss: 0.0059022, abs_error: u=1.0367/u_t=0.1225/u_x=3.3475, rel_error: u=1.0107/u_t=0.2018/u_x=1.9500, below_baseline: u=0.4742/u_t=0.8525/u_x=0.2860\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.4498\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:05.066109 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.4498\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.8742\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:07.574066 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.8742\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 38.6909\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:10.158584 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 38.6909\n",
            "I1203 23:47:15.729634 140321653876608 training.py:632] loss: 0.0055453, abs_error: u=1.0570/u_t=0.1183/u_x=3.2657, rel_error: u=1.0308/u_t=0.1951/u_x=1.8591, below_baseline: u=0.4569/u_t=0.8612/u_x=0.2990\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.3743\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:18.239926 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.3743\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.3142\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:20.660337 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.3142\n",
            "I1203 23:47:27.327455 140321653876608 training.py:632] loss: 0.0047293, abs_error: u=1.0453/u_t=0.1053/u_x=3.2233, rel_error: u=1.0230/u_t=0.1707/u_x=1.8763, below_baseline: u=0.4592/u_t=0.8758/u_x=0.2994\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.6527\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:28.563783 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.6527\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.634\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:30.965684 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.634\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.4526\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:33.378105 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.4526\n",
            "I1203 23:47:38.792744 140321653876608 training.py:632] loss: 0.0039173, abs_error: u=1.0535/u_t=0.0941/u_x=3.2035, rel_error: u=1.0341/u_t=0.1544/u_x=1.9450, below_baseline: u=0.4493/u_t=0.8872/u_x=0.2909\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.7325\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:41.231976 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.7325\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.8383\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:43.622123 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.8383\n",
            "I1203 23:47:50.515396 140321653876608 training.py:632] loss: 0.0035711, abs_error: u=1.0553/u_t=0.0888/u_x=3.1837, rel_error: u=1.0358/u_t=0.1457/u_x=1.9875, below_baseline: u=0.4392/u_t=0.8942/u_x=0.2795\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.2583\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:51.779829 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.2583\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.7737\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:54.173666 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.7737\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.4287\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:47:56.587476 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.4287\n",
            "I1203 23:48:01.936426 140321653876608 training.py:632] loss: 0.0038178, abs_error: u=1.0469/u_t=0.0944/u_x=3.1613, rel_error: u=1.0282/u_t=0.1519/u_x=1.9898, below_baseline: u=0.4486/u_t=0.8896/u_x=0.2742\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.8642\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:04.360953 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.8642\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.8907\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:06.748126 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.8907\n",
            "I1203 23:48:13.589339 140321653876608 training.py:632] loss: 0.0039418, abs_error: u=1.0526/u_t=0.0942/u_x=3.1593, rel_error: u=1.0318/u_t=0.1468/u_x=2.0136, below_baseline: u=0.4350/u_t=0.8923/u_x=0.2680\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.4428\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:14.784904 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.4428\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 42.0237\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:17.164601 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 42.0237\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.8829\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:19.610525 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.8829\n",
            "I1203 23:48:25.281014 140321653876608 training.py:632] loss: 0.0031872, abs_error: u=1.0535/u_t=0.0823/u_x=3.1649, rel_error: u=1.0329/u_t=0.1321/u_x=2.0519, below_baseline: u=0.4353/u_t=0.9032/u_x=0.2624\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.2261\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:27.789866 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.2261\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.6686\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:30.189627 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.6686\n",
            "I1203 23:48:36.200243 140321653876608 training.py:632] loss: 0.0030274, abs_error: u=1.0554/u_t=0.0812/u_x=3.1619, rel_error: u=1.0370/u_t=0.1303/u_x=2.0619, below_baseline: u=0.4345/u_t=0.9062/u_x=0.2602\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 13.8086\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:37.431529 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 13.8086\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.195\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:39.859009 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.195\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.5268\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:42.326590 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.5268\n",
            "I1203 23:48:47.810109 140321653876608 training.py:632] loss: 0.0031377, abs_error: u=1.0515/u_t=0.0842/u_x=3.1511, rel_error: u=1.0332/u_t=0.1337/u_x=2.0572, below_baseline: u=0.4369/u_t=0.9045/u_x=0.2617\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.7082\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:50.195475 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.7082\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.7313\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:48:52.591759 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.7313\n",
            "I1203 23:48:59.189972 140321653876608 training.py:632] loss: 0.0027610, abs_error: u=1.0555/u_t=0.0750/u_x=3.1584, rel_error: u=1.0349/u_t=0.1202/u_x=2.0703, below_baseline: u=0.4336/u_t=0.9127/u_x=0.2607\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.8016\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:00.403244 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.8016\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.6994\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:02.801399 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.6994\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.0802\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:05.235616 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.0802\n",
            "I1203 23:49:10.342381 140321653876608 training.py:632] loss: 0.0029251, abs_error: u=1.0477/u_t=0.0787/u_x=3.1472, rel_error: u=1.0275/u_t=0.1236/u_x=2.0619, below_baseline: u=0.4389/u_t=0.9108/u_x=0.2617\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 13.2763\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:12.767831 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 13.2763\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 42.1048\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:15.142872 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 42.1048\n",
            "I1203 23:49:21.888789 140321653876608 training.py:632] loss: 0.0025965, abs_error: u=1.0529/u_t=0.0717/u_x=3.1472, rel_error: u=1.0300/u_t=0.1145/u_x=2.0753, below_baseline: u=0.4319/u_t=0.9156/u_x=0.2609\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.5186\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:23.130990 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.5186\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.1492\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:25.561200 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.1492\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.7038\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:28.017958 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.7038\n",
            "I1203 23:49:33.235394 140321653876608 training.py:632] loss: 0.0027659, abs_error: u=1.0543/u_t=0.0776/u_x=3.1288, rel_error: u=1.0307/u_t=0.1244/u_x=2.0508, below_baseline: u=0.4293/u_t=0.9102/u_x=0.2632\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 13.0396\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:35.686892 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 13.0396\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.362\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:38.104590 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.362\n",
            "I1203 23:49:44.597151 140321653876608 training.py:632] loss: 0.0026315, abs_error: u=1.0554/u_t=0.0742/u_x=3.1240, rel_error: u=1.0317/u_t=0.1173/u_x=2.0589, below_baseline: u=0.4286/u_t=0.9160/u_x=0.2630\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.9301\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:45.838576 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.9301\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.197\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:48.265857 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.197\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.0412\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:50.702410 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.0412\n",
            "I1203 23:49:56.594991 140321653876608 training.py:632] loss: 0.0024083, abs_error: u=1.0480/u_t=0.0690/u_x=3.1237, rel_error: u=1.0247/u_t=0.1088/u_x=2.0609, below_baseline: u=0.4422/u_t=0.9216/u_x=0.2624\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.0302\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:49:59.014806 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.0302\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 42.0918\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:01.390568 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 42.0918\n",
            "I1203 23:50:07.999467 140321653876608 training.py:632] loss: 0.0035240, abs_error: u=1.0533/u_t=0.0921/u_x=3.1030, rel_error: u=1.0314/u_t=0.1362/u_x=2.0504, below_baseline: u=0.4351/u_t=0.9040/u_x=0.2636\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.7474\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:09.235347 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.7474\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.7081\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:11.691853 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.7081\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.3037\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:14.172989 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.3037\n",
            "I1203 23:50:19.475179 140321653876608 training.py:632] loss: 0.0023804, abs_error: u=1.0508/u_t=0.0683/u_x=3.1128, rel_error: u=1.0253/u_t=0.1069/u_x=2.0635, below_baseline: u=0.4370/u_t=0.9232/u_x=0.2618\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.9701\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:21.882995 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.9701\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.0078\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:24.321558 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.0078\n",
            "I1203 23:50:31.167683 140321653876608 training.py:632] loss: 0.0022151, abs_error: u=1.0471/u_t=0.0648/u_x=3.1152, rel_error: u=1.0227/u_t=0.1021/u_x=2.0721, below_baseline: u=0.4412/u_t=0.9263/u_x=0.2611\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.3595\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:32.412480 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.3595\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.7204\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:34.809411 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.7204\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.5003\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:37.219006 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.5003\n",
            "I1203 23:50:42.982274 140321653876608 training.py:632] loss: 0.0022014, abs_error: u=1.0469/u_t=0.0647/u_x=3.1175, rel_error: u=1.0220/u_t=0.1019/u_x=2.0824, below_baseline: u=0.4416/u_t=0.9264/u_x=0.2593\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.1678\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:45.437423 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.1678\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.2224\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:47.863325 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.2224\n",
            "I1203 23:50:54.666382 140321653876608 training.py:632] loss: 0.0021883, abs_error: u=1.0450/u_t=0.0644/u_x=3.1188, rel_error: u=1.0201/u_t=0.1009/u_x=2.0888, below_baseline: u=0.4448/u_t=0.9268/u_x=0.2582\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.434\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:55.905744 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.434\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:Saving checkpoints for 5826 into burgers-checkpoints/model.ckpt.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:56.559426 140321653876608 basic_session_run_hooks.py:606] Saving checkpoints for 5826 into burgers-checkpoints/model.ckpt.\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 32.8844\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:50:58.946691 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 32.8844\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.7423\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:01.401153 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.7423\n",
            "I1203 23:51:06.996342 140321653876608 training.py:632] loss: 0.0021645, abs_error: u=1.0467/u_t=0.0638/u_x=3.1206, rel_error: u=1.0222/u_t=0.1005/u_x=2.0933, below_baseline: u=0.4431/u_t=0.9273/u_x=0.2579\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.3318\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:09.510290 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.3318\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.9402\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:12.014024 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.9402\n",
            "I1203 23:51:18.566941 140321653876608 training.py:632] loss: 0.0021421, abs_error: u=1.0462/u_t=0.0634/u_x=3.1200, rel_error: u=1.0214/u_t=0.0997/u_x=2.0973, below_baseline: u=0.4426/u_t=0.9278/u_x=0.2577\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.7582\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:19.852111 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.7582\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.5071\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:22.320835 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.5071\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 38.7535\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:24.901241 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 38.7535\n",
            "I1203 23:51:30.439450 140321653876608 training.py:632] loss: 0.0021252, abs_error: u=1.0451/u_t=0.0631/u_x=3.1191, rel_error: u=1.0205/u_t=0.0989/u_x=2.0964, below_baseline: u=0.4453/u_t=0.9283/u_x=0.2575\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.5172\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:32.890242 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.5172\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.4902\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:35.359952 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.4902\n",
            "I1203 23:51:42.017524 140321653876608 training.py:632] loss: 0.0021109, abs_error: u=1.0463/u_t=0.0628/u_x=3.1202, rel_error: u=1.0211/u_t=0.0986/u_x=2.1003, below_baseline: u=0.4442/u_t=0.9287/u_x=0.2570\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.5655\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:43.318238 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.5655\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.7556\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:45.833616 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.7556\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.9732\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:48.274221 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.9732\n",
            "I1203 23:51:53.623631 140321653876608 training.py:632] loss: 0.0020917, abs_error: u=1.0460/u_t=0.0625/u_x=3.1201, rel_error: u=1.0206/u_t=0.0982/u_x=2.1051, below_baseline: u=0.4443/u_t=0.9288/u_x=0.2569\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.8922\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:56.030843 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.8922\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.4819\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:51:58.563661 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.4819\n",
            "I1203 23:52:05.532997 140321653876608 training.py:632] loss: 0.0020790, abs_error: u=1.0458/u_t=0.0623/u_x=3.1200, rel_error: u=1.0203/u_t=0.0977/u_x=2.1062, below_baseline: u=0.4447/u_t=0.9290/u_x=0.2569\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.1827\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:06.772014 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.1827\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.8332\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:09.221062 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.8332\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.6348\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:11.744074 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.6348\n",
            "I1203 23:52:16.913486 140321653876608 training.py:632] loss: 0.0020685, abs_error: u=1.0462/u_t=0.0623/u_x=3.1187, rel_error: u=1.0205/u_t=0.0975/u_x=2.1077, below_baseline: u=0.4435/u_t=0.9290/u_x=0.2565\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.8949\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:19.499075 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.8949\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.7108\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:22.017379 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.7108\n",
            "I1203 23:52:28.961833 140321653876608 training.py:632] loss: 0.0020518, abs_error: u=1.0453/u_t=0.0618/u_x=3.1187, rel_error: u=1.0191/u_t=0.0965/u_x=2.1076, below_baseline: u=0.4460/u_t=0.9299/u_x=0.2567\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.1808\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:30.226891 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.1808\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.6597\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:32.686392 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.6597\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.9219\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:35.130020 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.9219\n",
            "I1203 23:52:41.118919 140321653876608 training.py:632] loss: 0.0020332, abs_error: u=1.0441/u_t=0.0613/u_x=3.1185, rel_error: u=1.0180/u_t=0.0958/u_x=2.1079, below_baseline: u=0.4471/u_t=0.9303/u_x=0.2566\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 11.7492\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:43.641276 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 11.7492\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.1095\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:46.198184 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.1095\n",
            "I1203 23:52:52.969369 140321653876608 training.py:632] loss: 0.0020324, abs_error: u=1.0460/u_t=0.0616/u_x=3.1160, rel_error: u=1.0194/u_t=0.0960/u_x=2.1070, below_baseline: u=0.4449/u_t=0.9302/u_x=0.2565\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.4025\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:54.261023 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.4025\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.0142\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:56.760140 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.0142\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.9942\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:52:59.260493 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.9942\n",
            "I1203 23:53:04.707718 140321653876608 training.py:632] loss: 0.0020238, abs_error: u=1.0457/u_t=0.0615/u_x=3.1169, rel_error: u=1.0191/u_t=0.0957/u_x=2.1058, below_baseline: u=0.4460/u_t=0.9303/u_x=0.2565\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.5493\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:07.229048 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.5493\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.3533\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:09.707149 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.3533\n",
            "I1203 23:53:17.064538 140321653876608 training.py:632] loss: 0.0019954, abs_error: u=1.0441/u_t=0.0608/u_x=3.1151, rel_error: u=1.0174/u_t=0.0947/u_x=2.1074, below_baseline: u=0.4477/u_t=0.9307/u_x=0.2563\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 11.595\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:18.331580 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 11.595\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.98\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:20.771798 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.98\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.7763\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:23.285880 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.7763\n",
            "I1203 23:53:29.059211 140321653876608 training.py:632] loss: 0.0019856, abs_error: u=1.0432/u_t=0.0606/u_x=3.1145, rel_error: u=1.0165/u_t=0.0942/u_x=2.1067, below_baseline: u=0.4478/u_t=0.9312/u_x=0.2563\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.0856\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:31.560185 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.0856\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.5987\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:34.085491 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.5987\n",
            "I1203 23:53:40.665071 140321653876608 training.py:632] loss: 0.0019767, abs_error: u=1.0417/u_t=0.0603/u_x=3.1152, rel_error: u=1.0153/u_t=0.0939/u_x=2.1074, below_baseline: u=0.4508/u_t=0.9313/u_x=0.2562\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.8353\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:41.876546 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.8353\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 41.663\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:44.276756 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 41.663\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 40.2642\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:46.760390 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 40.2642\n",
            "I1203 23:53:53.033445 140321653876608 training.py:632] loss: 0.0019592, abs_error: u=1.0438/u_t=0.0601/u_x=3.1137, rel_error: u=1.0168/u_t=0.0933/u_x=2.1097, below_baseline: u=0.4472/u_t=0.9318/u_x=0.2565\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 11.3897\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:55.540223 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 11.3897\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.9387\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:53:58.044047 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.9387\n",
            "I1203 23:54:04.862977 140321653876608 training.py:632] loss: 0.0019483, abs_error: u=1.0425/u_t=0.0599/u_x=3.1124, rel_error: u=1.0162/u_t=0.0930/u_x=2.1117, below_baseline: u=0.4492/u_t=0.9317/u_x=0.2565\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 12.3329\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:54:06.152443 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 12.3329\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.5085\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:54:08.683539 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.5085\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:global_step/sec: 39.4899\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:54:11.215919 140321653876608 basic_session_run_hooks.py:692] global_step/sec: 39.4899\n",
            "I1203 23:54:16.454655 140321653876608 training.py:632] loss: 0.0019375, abs_error: u=1.0430/u_t=0.0597/u_x=3.1131, rel_error: u=1.0157/u_t=0.0925/u_x=2.1128, below_baseline: u=0.4488/u_t=0.9321/u_x=0.2565\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:Saving checkpoints for 10000 into burgers-checkpoints/model.ckpt.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "I1203 23:54:16.461011 140321653876608 basic_session_run_hooks.py:606] Saving checkpoints for 10000 into burgers-checkpoints/model.ckpt.\n",
            "I1203 23:54:17.576740 140321653876608 run_training.py:80] Saving CSV with metrics\n",
            "I1203 23:54:17.586394 140321653876608 run_training.py:85] Finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "CPU times: user 12min 58s, sys: 51.5 s, total: 13min 49s\n",
            "Wall time: 9min 12s\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "cL9Bcu4ajYNo",
        "colab_type": "text"
      },
      "source": [
        "## Run evaluation\n",
        "\n",
        "One key parameter here is the \"warmup\" time cutoff, which we use to ensure that we are only asking the neural network to make predictions on fully developed solutions, after all transiants are removed. We used `warmup=10` for Burgers, `warmup=100` for KS and `warmup=50` for KdV."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "H2McqbCoYqgV",
        "colab_type": "code",
        "outputId": "80dbe1fc-5e4c-4556-8c06-a50dccdd3b18",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 68
        }
      },
      "source": [
        "# Use pre-computed \"exact\" solution from WENO.\n",
        "# You could also run this yourself using scripts/create_exact_data.py\n",
        "! gsutil cp gs://data-driven-discretization-public/time-evolution/exact/burgers_weno.nc ."
      ],
      "execution_count": 0,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Copying gs://data-driven-discretization-public/time-evolution/exact/burgers_weno.nc...\n",
            "\\ [1 files][391.0 MiB/391.0 MiB]                                                \n",
            "Operation completed over 1 objects/391.0 MiB.                                    \n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "ITBMTSNWrvNu",
        "colab_type": "text"
      },
      "source": [
        "See also `ks_spectral.nc` and `kdv_spectral.nc` in the same directory for reference simulations with KS and KdV equations."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "mHgNfLa6Z7kK",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import xarray\n",
        "\n",
        "# remove extra samples, so evaluation runs faster\n",
        "reference = xarray.open_dataset('burgers_weno.nc').isel(sample=slice(10)).load()\n",
        "reference.to_netcdf('burgers_weno_10samples.nc')"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "XoAgU2ZjiFj3",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "e178eeb3-26dc-4565-edb7-ea76953cb57c"
      },
      "source": [
        "%%time\n",
        "! python data-driven-discretization-1d/pde_superresolution/scripts/run_evaluation.py \\\n",
        "--checkpoint_dir burgers-checkpoints \\\n",
        "--exact_solution_path burgers_weno_10samples.nc \\\n",
        "--equation_name burgers \\\n",
        "--stop_times \"[10]\" \\\n",
        "--num_samples 10 \\\n",
        "--warmup 10 \\\n",
        "--time_delta 0.1 \\\n",
        "--time_max 50 \\\n",
        "--logtostderr"
      ],
      "execution_count": 41,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "WARNING:tensorflow:\n",
            "The TensorFlow contrib module will not be included in TensorFlow 2.0.\n",
            "For more information, please see:\n",
            "  * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md\n",
            "  * https://github.com/tensorflow/addons\n",
            "  * https://github.com/tensorflow/io (for I/O related ops)\n",
            "If you depend on functionality not listed there, please file an issue.\n",
            "\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/model.py:422: The name tf.AUTO_REUSE is deprecated. Please use tf.compat.v1.AUTO_REUSE instead.\n",
            "\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:305: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.\n",
            "\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:510: The name tf.train.SessionRunHook is deprecated. Please use tf.estimator.SessionRunHook instead.\n",
            "\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:528: The name tf.summary.FileWriter is deprecated. Please use tf.compat.v1.summary.FileWriter instead.\n",
            "\n",
            "/usr/local/lib/python3.6/dist-packages/absl/flags/_validators.py:359: UserWarning: Flag --checkpoint_dir has a non-None default value; therefore, mark_flag_as_required will pass even if flag is not specified in the command line!\n",
            "  'command line!' % flag_name)\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/training.py:643: The name tf.gfile.GFile is deprecated. Please use tf.io.gfile.GFile instead.\n",
            "\n",
            "W1204 01:33:49.140243 140491107764096 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/training.py:643: The name tf.gfile.GFile is deprecated. Please use tf.io.gfile.GFile instead.\n",
            "\n",
            "I1204 01:33:51.045311 140491107764096 fn_api_runner_transforms.py:488] ==================== <function annotate_downstream_side_inputs at 0x7fc63207ef28> ====================\n",
            "I1204 01:33:51.047699 140491107764096 fn_api_runner_transforms.py:488] ==================== <function fix_side_input_pcoll_coders at 0x7fc63207d0d0> ====================\n",
            "I1204 01:33:51.048913 140491107764096 fn_api_runner_transforms.py:488] ==================== <function lift_combiners at 0x7fc63207d158> ====================\n",
            "I1204 01:33:51.049641 140491107764096 fn_api_runner_transforms.py:488] ==================== <function expand_sdf at 0x7fc63207d1e0> ====================\n",
            "I1204 01:33:51.050010 140491107764096 fn_api_runner_transforms.py:488] ==================== <function expand_gbk at 0x7fc63207d268> ====================\n",
            "I1204 01:33:51.050777 140491107764096 fn_api_runner_transforms.py:488] ==================== <function sink_flattens at 0x7fc63207d378> ====================\n",
            "I1204 01:33:51.051086 140491107764096 fn_api_runner_transforms.py:488] ==================== <function greedily_fuse at 0x7fc63207d400> ====================\n",
            "I1204 01:33:51.054368 140491107764096 fn_api_runner_transforms.py:488] ==================== <function read_to_impulse at 0x7fc63207d488> ====================\n",
            "I1204 01:33:51.054948 140491107764096 fn_api_runner_transforms.py:488] ==================== <function impulse_to_input at 0x7fc63207d510> ====================\n",
            "I1204 01:33:51.055781 140491107764096 fn_api_runner_transforms.py:488] ==================== <function inject_timer_pcollections at 0x7fc63207d6a8> ====================\n",
            "I1204 01:33:51.056416 140491107764096 fn_api_runner_transforms.py:488] ==================== <function sort_stages at 0x7fc63207d730> ====================\n",
            "I1204 01:33:51.056606 140491107764096 fn_api_runner_transforms.py:488] ==================== <function window_pcollection_coders at 0x7fc63207d7b8> ====================\n",
            "I1204 01:33:51.074817 140491107764096 fn_api_runner.py:659] Running ((((ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/create/Read_4)+(ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/load_5))+(ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/reshuffle/AddRandomKeys_7))+(ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/reshuffle/ReshufflePerKey/Map(reify_timestamps)_9))+(create|load|reshuffle|integrate|combine|finalize/reshuffle/ReshufflePerKey/GroupByKey/Write)\n",
            "I1204 01:33:51.614212 140491107764096 fn_api_runner.py:659] Running ((((((create|load|reshuffle|integrate|combine|finalize/reshuffle/ReshufflePerKey/GroupByKey/Read)+(ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/reshuffle/ReshufflePerKey/FlatMap(restore_timestamps)_14))+(ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/reshuffle/RemoveRandomKeys_15))+(ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/integrate_16))+(ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/combine/KeyWithVoid_18))+(create|load|reshuffle|integrate|combine|finalize/combine/CombinePerKey/Precombine))+(create|load|reshuffle|integrate|combine|finalize/combine/CombinePerKey/Group/Write)\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/integrate.py:57: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.\n",
            "\n",
            "W1204 01:33:51.735756 140489203267328 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/integrate.py:57: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.\n",
            "\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/model.py:442: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.\n",
            "\n",
            "W1204 01:33:51.743596 140489203267328 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/model.py:442: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.\n",
            "\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/layers.py:135: conv1d (from tensorflow.python.layers.convolutional) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `tf.keras.layers.Conv1D` instead.\n",
            "W1204 01:33:51.758577 140489203267328 deprecation.py:323] From /content/data-driven-discretization-1d/pde_superresolution/layers.py:135: conv1d (from tensorflow.python.layers.convolutional) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Use `tf.keras.layers.Conv1D` instead.\n",
            "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/layers/convolutional.py:218: Layer.apply (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Please use `layer.__call__` method instead.\n",
            "W1204 01:33:51.761722 140489203267328 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/layers/convolutional.py:218: Layer.apply (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "Please use `layer.__call__` method instead.\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/model.py:532: calling extract_image_patches (from tensorflow.python.ops.array_ops) with ksizes is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "ksizes is deprecated, use sizes instead\n",
            "W1204 01:33:52.457936 140489203267328 deprecation.py:506] From /content/data-driven-discretization-1d/pde_superresolution/model.py:532: calling extract_image_patches (from tensorflow.python.ops.array_ops) with ksizes is deprecated and will be removed in a future version.\n",
            "Instructions for updating:\n",
            "ksizes is deprecated, use sizes instead\n",
            "WARNING:tensorflow:From /content/data-driven-discretization-1d/pde_superresolution/integrate.py:66: The name tf.train.Saver is deprecated. Please use tf.compat.v1.train.Saver instead.\n",
            "\n",
            "W1204 01:33:52.607657 140489203267328 module_wrapper.py:139] From /content/data-driven-discretization-1d/pde_superresolution/integrate.py:66: The name tf.train.Saver is deprecated. Please use tf.compat.v1.train.Saver instead.\n",
            "\n",
            "2019-12-04 01:33:52.663858: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcuda.so.1\n",
            "2019-12-04 01:33:52.672359: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:33:52.677572: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:33:52.680492: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:33:52.684708: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:33:52.706098: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:33:52.709149: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:33:52.712530: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:33:52.713885: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:33:52.725276: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:33:52.725703: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:33:52.727838: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:33:52.728417: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:33:52.767623: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2300000000 Hz\n",
            "2019-12-04 01:33:52.774121: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7def880 initialized for platform Host (this does not guarantee that XLA will be used). Devices:\n",
            "2019-12-04 01:33:52.774161: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version\n",
            "2019-12-04 01:33:53.139592: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:33:53.142841: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7defa40 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:\n",
            "2019-12-04 01:33:53.142905: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Tesla P4, Compute Capability 6.1\n",
            "2019-12-04 01:33:53.143383: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:33:53.143943: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:33:53.144116: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:33:53.144224: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:33:53.144272: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:33:53.144317: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:33:53.144352: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:33:53.144381: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:33:53.144410: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:33:53.144553: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:33:53.145218: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:33:53.145750: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:33:53.145920: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:33:53.147414: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
            "2019-12-04 01:33:53.147455: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 \n",
            "2019-12-04 01:33:53.147475: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N \n",
            "2019-12-04 01:33:53.147670: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:33:53.148323: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:33:53.148824: W tensorflow/core/common_runtime/gpu/gpu_bfc_allocator.cc:39] Overriding allow_growth setting because the TF_FORCE_GPU_ALLOW_GROWTH environment variable is set. Original config value was 0.\n",
            "2019-12-04 01:33:53.148895: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5685 MB memory) -> physical GPU (device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1)\n",
            "INFO:tensorflow:Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:33:53.170781 140489203267328 saver.py:1284] Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:33:53.263800 140489203267328 integrate.py:148] solve_ivp from 10.0 to 60.0\n",
            "2019-12-04 01:33:53.382825: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:33:56.385405: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "I1204 01:34:58.492434 140489203267328 integrate.py:158] nfev: 15005, njev: 0, nlu: 0\n",
            "I1204 01:34:58.493237 140489203267328 integrate.py:159] status: 0, message: The solver successfully reached the end of the integration interval.\n",
            "I1204 01:34:58.493431 140489203267328 integrate.py:162] output has length 501\n",
            "2019-12-04 01:34:59.113210: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:34:59.116134: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:34:59.116365: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:34:59.116419: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:34:59.116457: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:34:59.116487: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:34:59.116516: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:34:59.116547: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:34:59.116577: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:34:59.116824: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:34:59.119586: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:34:59.120216: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:34:59.120294: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
            "2019-12-04 01:34:59.120379: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 \n",
            "2019-12-04 01:34:59.120400: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N \n",
            "2019-12-04 01:34:59.120586: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:34:59.123324: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:34:59.123854: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5685 MB memory) -> physical GPU (device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1)\n",
            "INFO:tensorflow:Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:34:59.132694 140489203267328 saver.py:1284] Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:34:59.171818 140489203267328 integrate.py:148] solve_ivp from 10.0 to 60.0\n",
            "I1204 01:35:56.247308 140489203267328 integrate.py:158] nfev: 15005, njev: 0, nlu: 0\n",
            "I1204 01:35:56.247720 140489203267328 integrate.py:159] status: 0, message: The solver successfully reached the end of the integration interval.\n",
            "I1204 01:35:56.247889 140489203267328 integrate.py:162] output has length 501\n",
            "2019-12-04 01:35:56.723998: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:35:56.725909: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:35:56.726117: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:35:56.726165: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:35:56.726227: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:35:56.726263: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:35:56.726299: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:35:56.726348: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:35:56.737111: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:35:56.738136: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:35:56.738924: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:35:56.740298: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:35:56.740376: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
            "2019-12-04 01:35:56.740399: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 \n",
            "2019-12-04 01:35:56.740417: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N \n",
            "2019-12-04 01:35:56.740586: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:35:56.744295: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:35:56.747527: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5685 MB memory) -> physical GPU (device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1)\n",
            "INFO:tensorflow:Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:35:56.751365 140489203267328 saver.py:1284] Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:35:56.809119 140489203267328 integrate.py:148] solve_ivp from 10.0 to 60.0\n",
            "I1204 01:36:53.342211 140489203267328 integrate.py:158] nfev: 15005, njev: 0, nlu: 0\n",
            "I1204 01:36:53.342549 140489203267328 integrate.py:159] status: 0, message: The solver successfully reached the end of the integration interval.\n",
            "I1204 01:36:53.342669 140489203267328 integrate.py:162] output has length 501\n",
            "2019-12-04 01:36:54.005253: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:36:54.005836: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:36:54.006174: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:36:54.006265: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:36:54.006304: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:36:54.006349: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:36:54.006382: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:36:54.006417: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:36:54.006454: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:36:54.006637: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:36:54.007267: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:36:54.008258: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:36:54.008329: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
            "2019-12-04 01:36:54.008362: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 \n",
            "2019-12-04 01:36:54.008379: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N \n",
            "2019-12-04 01:36:54.008576: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:36:54.009252: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:36:54.009900: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5685 MB memory) -> physical GPU (device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1)\n",
            "INFO:tensorflow:Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:36:54.012012 140489203267328 saver.py:1284] Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:36:54.053324 140489203267328 integrate.py:148] solve_ivp from 10.0 to 60.0\n",
            "I1204 01:37:51.169499 140489203267328 integrate.py:158] nfev: 15005, njev: 0, nlu: 0\n",
            "I1204 01:37:51.169794 140489203267328 integrate.py:159] status: 0, message: The solver successfully reached the end of the integration interval.\n",
            "I1204 01:37:51.169914 140489203267328 integrate.py:162] output has length 501\n",
            "2019-12-04 01:37:51.809240: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:37:51.812579: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:37:51.812764: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:37:51.812792: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:37:51.812814: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:37:51.812836: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:37:51.812858: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:37:51.812880: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:37:51.812901: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:37:51.813066: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:37:51.817977: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:37:51.818465: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:37:51.820772: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
            "2019-12-04 01:37:51.820802: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 \n",
            "2019-12-04 01:37:51.820816: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N \n",
            "2019-12-04 01:37:51.820989: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:37:51.821614: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:37:51.825216: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5685 MB memory) -> physical GPU (device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1)\n",
            "INFO:tensorflow:Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:37:51.839624 140489203267328 saver.py:1284] Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:37:51.948261 140489203267328 integrate.py:148] solve_ivp from 10.0 to 60.0\n",
            "I1204 01:38:49.550000 140489203267328 integrate.py:158] nfev: 15005, njev: 0, nlu: 0\n",
            "I1204 01:38:49.550348 140489203267328 integrate.py:159] status: 0, message: The solver successfully reached the end of the integration interval.\n",
            "I1204 01:38:49.550482 140489203267328 integrate.py:162] output has length 501\n",
            "2019-12-04 01:38:50.343724: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:38:50.344378: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:38:50.344619: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:38:50.344669: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:38:50.346448: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:38:50.346602: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:38:50.346643: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:38:50.346669: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:38:50.346699: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:38:50.347819: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:38:50.348786: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:38:50.349298: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:38:50.349362: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
            "2019-12-04 01:38:50.349383: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 \n",
            "2019-12-04 01:38:50.349398: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N \n",
            "2019-12-04 01:38:50.349562: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:38:50.351361: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:38:50.351858: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5685 MB memory) -> physical GPU (device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1)\n",
            "INFO:tensorflow:Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:38:50.358273 140489203267328 saver.py:1284] Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:38:50.405956 140489203267328 integrate.py:148] solve_ivp from 10.0 to 60.0\n",
            "I1204 01:39:34.548611 140489203267328 integrate.py:158] nfev: 15005, njev: 0, nlu: 0\n",
            "I1204 01:39:34.548906 140489203267328 integrate.py:159] status: 0, message: The solver successfully reached the end of the integration interval.\n",
            "I1204 01:39:34.549031 140489203267328 integrate.py:162] output has length 501\n",
            "2019-12-04 01:39:34.772945: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:39:34.775615: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:39:34.775943: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:39:34.776051: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:39:34.777057: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:39:34.777107: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:39:34.777142: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:39:34.777177: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:39:34.777241: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:39:34.777467: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:39:34.779166: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:39:34.780479: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:39:34.780544: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
            "2019-12-04 01:39:34.780563: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 \n",
            "2019-12-04 01:39:34.780576: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N \n",
            "2019-12-04 01:39:34.780747: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:39:34.782417: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:39:34.783817: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5685 MB memory) -> physical GPU (device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1)\n",
            "INFO:tensorflow:Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:39:34.797372 140489203267328 saver.py:1284] Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:39:34.829233 140489203267328 integrate.py:148] solve_ivp from 10.0 to 60.0\n",
            "I1204 01:40:10.634037 140489203267328 integrate.py:158] nfev: 15005, njev: 0, nlu: 0\n",
            "I1204 01:40:10.634355 140489203267328 integrate.py:159] status: 0, message: The solver successfully reached the end of the integration interval.\n",
            "I1204 01:40:10.634470 140489203267328 integrate.py:162] output has length 501\n",
            "2019-12-04 01:40:10.905223: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:40:10.905921: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:40:10.906150: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:40:10.906242: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:40:10.906281: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:40:10.906313: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:40:10.906379: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:40:10.906414: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:40:10.906463: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:40:10.906671: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:40:10.907384: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:40:10.907910: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:40:10.907975: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
            "2019-12-04 01:40:10.908011: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 \n",
            "2019-12-04 01:40:10.908029: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N \n",
            "2019-12-04 01:40:10.908262: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:40:10.908917: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:40:10.909507: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5685 MB memory) -> physical GPU (device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1)\n",
            "INFO:tensorflow:Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:40:10.911503 140489203267328 saver.py:1284] Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:40:10.962839 140489203267328 integrate.py:148] solve_ivp from 10.0 to 60.0\n",
            "I1204 01:40:40.387801 140489203267328 integrate.py:158] nfev: 15005, njev: 0, nlu: 0\n",
            "I1204 01:40:40.388015 140489203267328 integrate.py:159] status: 0, message: The solver successfully reached the end of the integration interval.\n",
            "I1204 01:40:40.388078 140489203267328 integrate.py:162] output has length 501\n",
            "2019-12-04 01:40:40.527568: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:40:40.528066: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:40:40.528229: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:40:40.528279: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:40:40.528300: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:40:40.528320: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:40:40.528339: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:40:40.528358: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:40:40.528377: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:40:40.528540: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:40:40.529048: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:40:40.529378: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:40:40.529432: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
            "2019-12-04 01:40:40.529447: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 \n",
            "2019-12-04 01:40:40.529460: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N \n",
            "2019-12-04 01:40:40.529590: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:40:40.529993: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:40:40.530318: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5685 MB memory) -> physical GPU (device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1)\n",
            "INFO:tensorflow:Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:40:40.531816 140489203267328 saver.py:1284] Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:40:40.552389 140489203267328 integrate.py:148] solve_ivp from 10.0 to 60.0\n",
            "I1204 01:41:04.737420 140489203267328 integrate.py:158] nfev: 15005, njev: 0, nlu: 0\n",
            "I1204 01:41:04.737697 140489203267328 integrate.py:159] status: 0, message: The solver successfully reached the end of the integration interval.\n",
            "I1204 01:41:04.737805 140489203267328 integrate.py:162] output has length 501\n",
            "2019-12-04 01:41:04.883589: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:41:04.884063: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties: \n",
            "name: Tesla P4 major: 6 minor: 1 memoryClockRate(GHz): 1.1135\n",
            "pciBusID: 0000:00:04.0\n",
            "2019-12-04 01:41:04.884211: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudart.so.10.1\n",
            "2019-12-04 01:41:04.884273: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcublas.so.10\n",
            "2019-12-04 01:41:04.884297: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcufft.so.10\n",
            "2019-12-04 01:41:04.884319: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcurand.so.10\n",
            "2019-12-04 01:41:04.884338: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusolver.so.10\n",
            "2019-12-04 01:41:04.884358: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcusparse.so.10\n",
            "2019-12-04 01:41:04.884378: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library libcudnn.so.7\n",
            "2019-12-04 01:41:04.884519: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:41:04.884937: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:41:04.885270: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0\n",
            "2019-12-04 01:41:04.885318: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:\n",
            "2019-12-04 01:41:04.885331: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0 \n",
            "2019-12-04 01:41:04.885344: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N \n",
            "2019-12-04 01:41:04.885490: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:41:04.885882: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:983] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero\n",
            "2019-12-04 01:41:04.886202: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 5685 MB memory) -> physical GPU (device: 0, name: Tesla P4, pci bus id: 0000:00:04.0, compute capability: 6.1)\n",
            "INFO:tensorflow:Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:41:04.887774 140489203267328 saver.py:1284] Restoring parameters from burgers-checkpoints/model.ckpt\n",
            "I1204 01:41:04.908460 140489203267328 integrate.py:148] solve_ivp from 10.0 to 60.0\n",
            "I1204 01:41:29.194495 140489203267328 integrate.py:158] nfev: 15005, njev: 0, nlu: 0\n",
            "I1204 01:41:29.194733 140489203267328 integrate.py:159] status: 0, message: The solver successfully reached the end of the integration interval.\n",
            "I1204 01:41:29.194800 140489203267328 integrate.py:162] output has length 501\n",
            "I1204 01:41:29.236630 140491107764096 fn_api_runner.py:659] Running ((((create|load|reshuffle|integrate|combine|finalize/combine/CombinePerKey/Group/Read)+(create|load|reshuffle|integrate|combine|finalize/combine/CombinePerKey/Merge))+(create|load|reshuffle|integrate|combine|finalize/combine/CombinePerKey/ExtractOutputs))+(ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/combine/UnKey_26))+(ref_PCollection_PCollection_16/Write)\n",
            "I1204 01:41:29.282536 140491107764096 fn_api_runner.py:659] Running ((ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/combine/DoOnce/Read_28)+(ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/combine/InjectDefault_29))+(ref_AppliedPTransform_create|load|reshuffle|integrate|combine|finalize/finalize_30)\n",
            "CPU times: user 1.88 s, sys: 320 ms, total: 2.2 s\n",
            "Wall time: 7min 55s\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "rZIWQ90thSFx",
        "colab_type": "text"
      },
      "source": [
        "## Very simple evaluation"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "-pXWuaaGhssY",
        "colab_type": "text"
      },
      "source": [
        "Evaluations have been saved to `burgers-checkpoints/results.nc`, but we'll download them from cloud storage instead:"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0vA_C-y3hxvB",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 68
        },
        "outputId": "f70cbab0-fa53-4ab0-c80a-43a1c4bf1135"
      },
      "source": [
        "! gsutil cp gs://data-driven-discretization-public/time-evolution/model/burgers_16x_samples.nc ."
      ],
      "execution_count": 35,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Copying gs://data-driven-discretization-public/time-evolution/model/burgers_16x_samples.nc...\n",
            "/ [1 files][  1.2 MiB/  1.2 MiB]                                                \n",
            "Operation completed over 1 objects/1.2 MiB.                                      \n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "G6WRM9hxatPx",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import xarray\n",
        "\n",
        "results = xarray.open_dataset('burgers_16x_samples.nc').load()"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kngi9s9OawIQ",
        "colab_type": "code",
        "outputId": "33880abd-8b8e-402d-e9e1-e2674e30cb6f",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 170
        }
      },
      "source": [
        "results"
      ],
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<pre>&lt;xarray.Dataset&gt;\n",
              "Dimensions:    (sample: 10, time: 501, x: 32)\n",
              "Coordinates:\n",
              "  * time       (time) float64 10.0 10.1 10.2 10.3 10.4 ... 59.7 59.8 59.9 60.0\n",
              "  * x          (x) float64 0.0 0.1963 0.3927 0.589 ... 5.498 5.694 5.89 6.087\n",
              "  * sample     (sample) int32 0 1 2 3 4 5 6 7 8 9\n",
              "    num_evals  int32 15005\n",
              "Data variables:\n",
              "    y          (sample, time, x) float64 -1.283 -1.241 -0.9779 ... 0.2227 0.757</pre>"
            ],
            "text/plain": [
              "<xarray.Dataset>\n",
              "Dimensions:    (sample: 10, time: 501, x: 32)\n",
              "Coordinates:\n",
              "  * time       (time) float64 10.0 10.1 10.2 10.3 10.4 ... 59.7 59.8 59.9 60.0\n",
              "  * x          (x) float64 0.0 0.1963 0.3927 0.589 ... 5.498 5.694 5.89 6.087\n",
              "  * sample     (sample) int32 0 1 2 3 4 5 6 7 8 9\n",
              "    num_evals  int32 15005\n",
              "Data variables:\n",
              "    y          (sample, time, x) float64 -1.283 -1.241 -0.9779 ... 0.2227 0.757"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "nyXZgF1-a73W",
        "colab_type": "code",
        "outputId": "871007e2-3351-447b-c866-48b457ff0c08",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 170
        }
      },
      "source": [
        "reference"
      ],
      "execution_count": 11,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<pre>&lt;xarray.Dataset&gt;\n",
              "Dimensions:    (sample: 10, time: 1001, x: 512)\n",
              "Coordinates:\n",
              "  * time       (time) float64 10.0 10.1 10.2 10.3 ... 109.7 109.8 109.9 110.0\n",
              "  * x          (x) float64 0.0 0.01227 0.02454 0.03682 ... 6.246 6.259 6.271\n",
              "    num_evals  (sample) int32 112853 104861 113612 ... 103469 103082 111458\n",
              "  * sample     (sample) int32 0 1 2 3 4 5 6 7 8 9\n",
              "Data variables:\n",
              "    y          (sample, time, x) float64 -1.237 -1.247 ... -0.8157 -0.8237</pre>"
            ],
            "text/plain": [
              "<xarray.Dataset>\n",
              "Dimensions:    (sample: 10, time: 1001, x: 512)\n",
              "Coordinates:\n",
              "  * time       (time) float64 10.0 10.1 10.2 10.3 ... 109.7 109.8 109.9 110.0\n",
              "  * x          (x) float64 0.0 0.01227 0.02454 0.03682 ... 6.246 6.259 6.271\n",
              "    num_evals  (sample) int32 112853 104861 113612 ... 103469 103082 111458\n",
              "  * sample     (sample) int32 0 1 2 3 4 5 6 7 8 9\n",
              "Data variables:\n",
              "    y          (sample, time, x) float64 -1.237 -1.247 ... -0.8157 -0.8237"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 11
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "sGDDcmAUjdSx",
        "colab_type": "text"
      },
      "source": [
        "An example solution from our reference model, at high resolution:"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "J-1NexALbFzV",
        "colab_type": "code",
        "outputId": "9a2eb710-f096-4590-8c0f-6fb1e3a1b7ce",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 312
        }
      },
      "source": [
        "reference.y[0].sel(time=slice(10, 60)).plot.imshow()"
      ],
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7fbc800e9c18>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 14
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "YjZkjWjmjgtz",
        "colab_type": "text"
      },
      "source": [
        "Coarse-grained simulation with our neural network:"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "a-EvDf9ZbOt1",
        "colab_type": "code",
        "outputId": "09b95e83-c8f6-4682-f303-84277f668a97",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 312
        }
      },
      "source": [
        "results.y[0].plot.imshow()"
      ],
      "execution_count": 25,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7fbc32203940>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 25
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEWCAYAAABmE+CbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO29ebhlZ1Xn/1nn3KnmSlUllaIqSYUk\nhHmQEBuhMTJJ0/xAUZChabTpTqON0q22oP5saZpuo/08Dr/GgTSgQYGICBIRxShERjEBMZiEQAiV\nUJVUKpWpxjuds35/nFNwU7n3/a5b77v33edmf5+nnrrnvPvs/e5prXd912TuTosWLVq0aNFZ6Qm0\naNGiRYtmoFUILVq0aNECaBVCixYtWrQYolUILVq0aNECaBVCixYtWrQYolUILVq0aNECaBXCyMLM\n/sDM3rbS82gBZuZmdv5Kz6NFi1y0CqFFGGb2ZDP7opkdG/7/5JWe08MNZvZ4M/u4mR00s4ckEZnZ\nNWY2bWZHhv9uPmn8VWZ2m5kdNbM/M7MtC8a2mNmHh2O3mdmrFoxdYmb9Bfs9YmavrfZsW9SNViG0\nCMHMJoCPAH8EnAZcAXxk+H2L+jAHfAB4XWKbN7j7+uG/C098aWaPA94BvAbYDhwDfmfB734bmB2O\nvRr43eFvTuCOBftd7+5XlDmlFk1BqxBOAWb2JjPbZ2aHzexmM3vO8PuLzezzZna/md1pZm9fKDCH\n1MJPmNnXh7/9H2Z2npl9zswOmdkHTmw/XJHtNbNfGK4G95jZqxNzepGZfXl47M+Z2RMLn/YlwBjw\nm+4+4+7/H2DAsyM/Hp7764fnfr+Z/baZ2XDsLWb2Rwu23T3cfmz4+Roze9vwvI6Y2Z+b2VYze+/w\nul1rZrsDc3i0mV1tZvcO79vLh99/t5ntN7Pugm1/0MyuH/6dvK8nHeOFZnbj8P7uM7OfjVyfKNz9\nZnd/F3DDKfz81cCfu/un3P0I8EvAS81sg5mtA34I+CV3P+LunwGuYqA8WjxM0CqEZcLMLgTeADzN\n3TcA3w/sGQ73gP8CbAOeDjwH+ImTdvH9wFOBfwH8HHA58G+As4DHA69csO2Zw33tBF4LXD48/slz\negrwbuA/AlsZrAKvMrPJJc7h+qFwW+zf7yz2G+BxwPX+4Fon1w+/j+JFwNOAJwIvZ3AtongFA+G0\n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\n",
            "text/plain": [
              "<Figure size 432x288 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "7fun3JIXjlSb",
        "colab_type": "text"
      },
      "source": [
        "Difference between the neural network results and coarse-grained reference results:"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "xFTchIe4g29h",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 312
        },
        "outputId": "3f271606-cd6b-4084-b7a0-a2aca44b9179"
      },
      "source": [
        "(results.y.sel(sample=0)\n",
        " - reference.y.sel(sample=0, time=slice(10, 60)).coarsen(x=16).mean()\n",
        "   .assign_coords(x=results.x)).plot.imshow()"
      ],
      "execution_count": 34,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.image.AxesImage at 0x7fbc266861d0>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 34
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nH2pGAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 432x288 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "AJjCMkNhgzD5",
        "colab_type": "text"
      },
      "source": [
        "As you can see, the model does a pretty reasonable job, despite the much coarser grid."
      ]
    }
  ]
}